package com.joker.utily;

import com.joker.dao.GroupMember;
import com.joker.pojo.Group;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.apache.ibatis.io.Resources;

import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

public class MYbatisutil {
    public static String resource = "newmybatis-config.xml";
    public static SqlSession session;

    //初始化
    static {
        InputStream inputStream = null;
        try {
            inputStream = Resources.getResourceAsStream(resource);
        } catch (IOException e) {
            e.printStackTrace();
        }
        // 创建了mybatis的sqlSessionFactory工厂类:读取mybatis.xml配置文件，使用该配置文件中的参数信息，用于创建SqlSession对象
        SqlSessionFactory sqlSessionFactory =
                new SqlSessionFactoryBuilder().build(inputStream);
        // 获取一个SqlSession对象进行数据库操作
        // SqlSession对象等价于 jdbc 的 statement；或者是 dbutils 的 QueryRunner
        session = sqlSessionFactory.openSession();
        // 从mybatis的sqlsession对象中获取dao层的接口的实例对象
    }

    public static Group selectid(int id) throws IOException {

        GroupMember GroupMember = session.getMapper(GroupMember.class);
        // 调用dao层接口的方法进行数据库操作
        Group userInfoBean = GroupMember.selectid(id);
        System.out.println("mybatis查询结果：");
        System.out.println(userInfoBean);
        System.out.println("===================二级缓存============================");
        return userInfoBean;
    }


}
